package parser;

import junit.framework.TestCase;

public class ReaderTest extends TestCase {

	private Reader r;

	protected void setUp() throws Exception {
		super.setUp();
		r = new Reader();
	}

	protected void tearDown() throws Exception {
		super.tearDown();
		r = null;
	}

	public void testParseExpression01() {
		String test = "(((fda))|(Fda & fg < fd))";
		try {
			r.parseExpression(test);
		} catch (WyjatekPrzyParsowaniu e) {
			System.out.println(e.przyczyna);
			assertTrue(false);
		}
	}

	public void testParseExpression02() {
		String test = "all[fd](((fda))|(Fda & fg < fd))";
		try {
			r.parseExpression(test);
		} catch (WyjatekPrzyParsowaniu e) {
			System.out.println(e.przyczyna);
			assertTrue(false);
		}
	}

	public void testParseExpression03() {
		String test = "all[fd](((fda))|(some[ff]Fda & fg < fd))";
		try {
			r.parseExpression(test);
		} catch (WyjatekPrzyParsowaniu e) {
			System.out.println(e.przyczyna);
			assertTrue(false);
		}
	}

	public void testParseExpression04() {
		String test = "(all[fd](((fda))|(some[ff]Fda & fg < fd))) & yu";
		try {
			r.parseExpression(test);
		} catch (WyjatekPrzyParsowaniu e) {
			System.out.println(e.przyczyna);
			assertTrue(false);
		}
	}

	public void testParseExpression05() {
		String test = "fda & ~(fda)";
		try {
			r.parseExpression(test);
		} catch (WyjatekPrzyParsowaniu e) {
			System.out.println(e.przyczyna);
			assertTrue(false);
		}
	}
	
	public void testParseExpression06() {
		String test = "fdb | ~fda | ~(~(fdd & ~(fda)))";
		try {
			r.parseExpression(test);
		} catch (WyjatekPrzyParsowaniu e) {
			System.out.println(e.przyczyna);
			assertTrue(false);
		}
	}
	
	//////////////// przykladowe bledy //////////////////
	
	/*
	
	public void testParseExpression07() {
		String test = "fdb | ";
		try {
			r.parseExpression(test);
		} catch (WyjatekPrzyParsowaniu e) {
			System.out.println("test07 " + e.przyczyna);
			assertTrue(false);
		}
	}
	
	public void testParseExpression08() {
		String test = "fdb | ~12fda | ~(~(fdd & ~(fda)))";
		try {
			r.parseExpression(test);
		} catch (WyjatekPrzyParsowaniu e) {
			System.out.println("test08 " + e.przyczyna);
			assertTrue(false);
		}
	}
	
	public void testParseExpression09() {
		String test = "fdb | ~fda | ~(~(fdd & ~(fda))))";
		try {
			r.parseExpression(test);
			System.out.println(test);
		} catch (WyjatekPrzyParsowaniu e) {
			System.out.println("test09 " + e.przyczyna);
			assertTrue(false);
		}
	}
	
	public void testParseExpression10() {
		String test = "fdb | ~(fda | ~(~(fdd & ~(fda)))";
		try {
			r.parseExpression(test);
		} catch (WyjatekPrzyParsowaniu e) {
			System.out.println("test10 " + e.przyczyna);
			assertTrue(false);
		}
	}
	
	public void testParseExpression11() {
		String test = "fdb | | ~fda | ~(~(fdd & ~(fda)))";
		try {
			r.parseExpression(test);
		} catch (WyjatekPrzyParsowaniu e) {
			System.out.println("test11 " + e.przyczyna);
			assertTrue(false);
		}
	}
	
	public void testParseExpression12() {
		String test = "fdb | ~fda | ~(~(fdd & ~(fda ())))";
		try {
			r.parseExpression(test);
		} catch (WyjatekPrzyParsowaniu e) {
			System.out.println("test12 " + e.przyczyna);
			assertTrue(false);
		}
	}
	
	*/
}
